﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;

public partial class Profil : System.Web.UI.Page
{
    /// <summary>
    ///     <para>
    ///         Vo Page_Load najprvo se proveruva dali korisnikot e od soodvetniot tip.
    ///         Ako sesiskata promenliva na koja i dodavame vrednost vo Login.aspx ne e ednakva na 1, korisnikot se redirekira na NO.aspx stranata. 
    ///         Ako vrati true togas vo Sesiska promenliva se zacuvuva momentalnata strana i vo soodvetni labeli se stavaat imeto, prezimeto i indeksot cii informacii se cuvaat vo sesiski promenlivi.
    ///     </para>
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            lblKI.Text = Session["korisnicko"].ToString();
            lblIP.Text = Session["ime"].ToString() + " " + Session["prezime"].ToString();
            if ((int)Session["tip"] == 1)
            {
                lblInd.Text = Session["indeks"].ToString();
                lblIndeks.Visible = true;
            }
        }
        //Se postavuva lozinkata na korisnikot vo soodvetniot TextBox
        txtPass.Attributes.Add("value", Session["lozz"].ToString());
    }
    /// <summary>
    ///     <para>
    ///         Event Handler koj se povikuva dokolku korisnikot ja otkaze promenata na lozinka.
    ///         Vrednostite na polinjata koi treba da se popolnat se praznat i korisnikot se prenasocuva kon stranata od koja dosol.
    ///     </para>
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnCancel_Click(object sender, EventArgs e)
    {
        txtNova.Text = null;
        txtNova2.Text = null;
        txtStara.Text = null;
        Response.Redirect(Session["strana"].ToString());
    }

    /// <summary>
    ///     <para>
    ///         Event Handler koj se povikuva koga korisnikot saka da ja potvrdi promenata na lozinka.
    ///         Najprvin treba da se ispolnat uslovite na site validatori postaveni za kontrolite, a potoa dokolku
    ///         starata i novata vnesena lozinka se sovpagjaat, se postavuva konekcija so baza i na soodvetniot korisnik mu se
    ///         menuva lozinkata. Na kraj korisnikot se prenasocuva kon stranata od koja dosol.
    ///     </para>
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnZacuvaj_Click(object sender, EventArgs e)
    {
        //Kreiranje konekcija kon bazata.
        SqlConnection konekcija = new SqlConnection();
        konekcija.ConnectionString = ConfigurationManager.ConnectionStrings["mojaKonekcija"].ConnectionString;

        //Kreiranje na SQL query za obnovuvanje na zapisot na lozinkata.
        SqlCommand komanda = new SqlCommand();
        komanda.Connection = konekcija;
        komanda.CommandText = "Update Korisnici SET Lozinka='" + txtNova.Text + "' WHERE KorIme='" + lblKI.Text + "'";
        try
        {
            konekcija.Open();
            komanda.ExecuteNonQuery();
        }
        catch (Exception er) { }
        finally
        {   
            //Zatvaranje na konekcijata i prenasocuvanje na korisnikot.
            konekcija.Close();
            Response.Redirect(Session["strana"].ToString());
        }
    }
}